package com.breeze.common.path;

import android.util.Log;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

public class PathManager {
    private static final String TAG = "PathManager";
    private static Map<String, Set<PathBean>> maps = new HashMap<>();


    /**
     * 将路径信息加入全局Map
     *
     * @param groupName 组名，如："personal"
     * @param pathName  路劲名，如："Personal_MainActivity"
     * @param clazz     类对象，如：Personal_MainActivity.class
     */
    public static void addGroupInfo(String groupName, String pathName, Class<?> clazz) {
        Set<PathBean> set = maps.get(groupName);

        if (null == set) {
            set = new HashSet<>();
        }
        set.add(new PathBean(pathName, clazz));
        maps.put(groupName, set);
    }

    /**
     * 只需要告诉我，组名 ，路径名，  就能返回 "要跳转的Class"
     *
     * @param groupName 组名 oder
     * @param pathName  路径名  OrderMainActivity1
     * @return 跳转目标的class类对象
     */
    public static Class<?> getTargetActivity(String groupName, String pathName) {
        Set<PathBean> set = maps.get(groupName);
        if (set == null) {
            Log.d(TAG, "startTargetActivity 此组名得到的信息，并没有注册进来哦...");
            return null;
        }
        // 遍历 寻找 去匹配 “PathBean”对象
        for (PathBean pathBean : set) {
            if (pathName.equalsIgnoreCase(pathBean.getPath())) {
                return pathBean.getClz();
            }
        }
        return null;
    }
}
